A database may be used to store items of information in a manner that permits a particular item to be accessed efficiently. The database and the mechanism to retrieve items from the database may be part of a database server. The mechanism to accept requests for items in the database from a user and to display requested items to the user may be part of a client.
The database server and the client may each be a process that is carried out by a machine such as a computer. The database server and the client may be processes on the same machine or they may be processes on separate machines that are communicatively coupled. Either or both of the database server and the client processes may be carried out by a plurality of machines that are communicatively coupled.
A database access server may be used to communicatively couple a client and a database server. The database access server may allow the client to access the database server without knowing the implementation of the database server. The database access server may allow the client to access a plurality of database servers as though they were a single database server.
The database access server may be a process that is carried out by a machine such as a computer. The database access server may be a process on the same machine as the database server or it may be a process on a separate machine that is communicatively coupled to the one or more machines providing the database server. The database access server may communicatively couple the client server to the database server.
An exemplary database server is a Lightweight Directory Access Protocol (LDAP) directory server. LDAP is a set of open protocols used to access centrally stored information over a network. It is based on the X.500 standard for directory sharing, but is less complex and resource intensive. Like X.500, LDAP organizes information in a hierarchal manner using directories. These directories can store a variety of information and can enable access to the information from any machine on the LDAP enabled network.
The LDAP server can use a variety of databases to store a directory, each optimized for quick and copious read operations. When an LDAP client application connects to an LDAP server, it can either query a directory or attempt to modify it. In the event of a query, the server either answers the query or, if it can not answer locally, it can refer the query to an LDAP server which does have the answer. If the client application is attempting to modify information in an LDAP directory, the server verifies that the user has permission to make the change and then adds or updates the information.
The main benefit of using LDAP is that information for an entire organization can be consolidated into a central repository. LDAP supports a number of back-end databases in which to store directories. This allows administrators the flexibility to deploy the database best suited for the type of information the server is to disseminate. Because LDAP has a well-defined client Application Programming Interface (API), the number of LDAP-enabled applications are numerous and increasing in quantity and quality.
Information stored in the database is stored in one or more defined formats. A client may request a particular item from the database with a particular format. If the requested item is not available with the requested format, the request fails.